package com.basic.gateway;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration;
import org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration;
import org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration;
import org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration;
import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration;
import org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration;
import org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration;
import org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration;
import org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;

/**
 * Description: 网关启动类 .<br>
 *
 * @author m-xy
 *     Created By 2018/12/14 上午10:57
 */
@SpringBootApplication(exclude = {
    DataSourceAutoConfiguration.class,
    QuartzAutoConfiguration.class,
    SpringApplicationAdminJmxAutoConfiguration.class,
    JmxAutoConfiguration.class,
    GsonAutoConfiguration.class,
    XADataSourceAutoConfiguration.class,
    JndiDataSourceAutoConfiguration.class,
    JtaAutoConfiguration.class,
    FreeMarkerAutoConfiguration.class,
    GroovyTemplateAutoConfiguration.class,
    MustacheAutoConfiguration.class,
    MailSenderAutoConfiguration.class,
    MailSenderValidatorAutoConfiguration.class
})
public class GateWayApplication {

    /**
     * 日志.
     */
    private static final Logger LOGGER = LoggerFactory.getLogger(GateWayApplication.class);

    /**
     * 启动.
     *
     * @param args
     */
    public static void main(String[] args) {
        SpringApplication.run(GateWayApplication.class, args);
        LOGGER.info("*** Gateway Started Success! ***");
    }
}
